package com.example.plan.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.example.plan.common.result.Result;
import com.example.plan.model.dto.arNavigation.ArNavigationDTO;
import com.example.plan.model.dto.arNavigation.ArNavigationPageDTO;
import com.example.plan.model.entity.ArNavigation;
import com.baomidou.mybatisplus.extension.service.IService;
import com.example.plan.model.vo.ArNavigationVO;

/**
* @author ASUS
* @description 针对表【ar_navigation(AR导航标记表)】的数据库操作Service
* @createDate 2025-03-01 19:07:17
*/
public interface ArNavigationService extends IService<ArNavigation> {

    /**
     * 保存AR导航标记
     * @param dto
     * @return
     */
    Result<Void> saveArNavigation(ArNavigationDTO dto);

    /**
     * 删除AR导航标记
     * @param navId
     * @return
     */
    Result<Void> deleteArNavigation(Long navId);

    /**
     * 获取AR导航标记
     * @param navId
     * @return
     */
    Result<ArNavigationVO> getArNavigation(Long navId);

    /**
     * 分页获取AR导航标记
     * @param dto
     * @return
     */
    Result<IPage<ArNavigationVO>> pageArNavigation(ArNavigationPageDTO dto);

    /**
     * 更新AR导航标记
     * @param dto
     * @return
     */
    Result<Void> updateArNavigation(ArNavigationDTO dto);
}
